import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { UsersModule } from './users/users.module';
// 导入TypeOrmModule，用于配置数据库连接
import { TypeOrmModule } from '@nestjs/typeorm';
import { AuthModule } from './auth/auth.module';
import { ConfigModule } from '@nestjs/config';
@Module({
  imports: [
    // 添加ConfigModule，使其全局可用
    ConfigModule.forRoot({
      isGlobal: true,
      envFilePath: '.env',
    }),
    // 配置TypeORM连接
    TypeOrmModule.forRoot({
      // type: 'sqlite' - 指定使用SQLite数据库
      type: 'sqlite',
      // database: 'db.sqlite' - 指定数据库文件的名称和位置
      database: 'db.sqlite',
      // entities: [] - 指定要映射到数据库表的实体类
      // __dirname + '/**/*.entity{.ts,.js}' 表示自动扫描所有以.entity.ts或.entity.js结尾的文件
      entities: [__dirname + '/**/*.entity{.ts,.js}'],
      // synchronize: true - 自动创建数据库表（仅开发环境使用）
      // 注意：在生产环境中应设置为false，避免意外删除数据
      synchronize: true,
      // logging: true - 记录SQL查询日志，有助于调试
      logging: true,
    }),
    UsersModule,
    AuthModule,
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}
